package com.bookstore.back.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bookstore.back.entity.BookTag;
import com.bookstore.back.entity.BookTagRelation;

import java.util.List;
import java.util.Map;

/**
 * 图书标签关联服务接口
 * 
 * @author 程序猿_Ti
 * @since 2025-07-22
 */
public interface BookTagRelationService extends IService<BookTagRelation> {

    /**
     * 根据图书ID获取关联的标签
     * 
     * @param bookId 图书ID
     * @return 标签列表
     */
    List<BookTag> getTagsByBookId(Integer bookId);

    /**
     * 根据图书ID列表批量获取标签关联
     * 
     * @param bookIds 图书ID列表
     * @return Map<图书ID, 标签列表>
     */
    Map<Integer, List<BookTag>> getTagsByBookIds(List<Integer> bookIds);

    /**
     * 更新图书的标签关联
     * 
     * @param bookId 图书ID
     * @param tagIds 标签ID列表
     * @return 是否成功
     */
    boolean updateBookTags(Integer bookId, List<Integer> tagIds);

    /**
     * 删除图书的所有标签关联
     * 
     * @param bookId 图书ID
     * @return 是否成功
     */
    boolean deleteBookTags(Integer bookId);

}
